import pandas as pd
from scipy.io import arff


# 读取 .arff 文件并转换为 Pandas DataFrame
def load_data(file_path):
    # data 是数据部分，meta是包含数据集的元信息（比如属性名、数据类型等）
    data, meta = arff.loadarff(file_path)
    # 将 ARFF 数据转换为 Pandas DataFrame，以便进一步进行数据处理
    df = pd.DataFrame(data)
    # 处理数据类型， applymap 表示用于对DataFrame的每个元素应用一个函数，由于 ARFF 文件中可能存在字节类型数据，这里将字节数据解码为字符串。
    df = df.applymap(lambda x: x.decode() if isinstance(x, bytes) else x)
    return df